package com.ls.lserp.modules.setting.dao;

import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.setting.entity.Category;




/**
  * @ClassName: CategoryDao
  * @Description: 分类接口
  * 
  * @author 
  * @date 2017年1月24日 下午4:49:34
  *
  */

@MyBatisDao
public interface CategoryDao extends CrudDao<Category> {

	/**
	  * @Title: findSubCategory
	  * @Description: 查询子项目接口
	  * @param @param category
	  * @param @return
	  * @return List<Category> 
	  * @throws
	  */
	
	public List<Category> findSubCategory(Category category);
	

	/**
	  * @Title: physicallyDeleteAllSub
	  * @Description: 物理删除所有子项目接口
	  * @param @param category
	  * @param @return
	  * @return int 
	  * @throws
	  */
	
	public int physicallyDeleteAllSub(Category category);
	
	/**
	  * @Title: logicDeleteAllSub
	  * @Description: 逻辑删除所有子项目接口
	  * @param @param category
	  * @param @return
	  * @return int 
	  * @throws
	  */
	
	public int logicDeleteAllSub(Category category);

	/**
	  * @Title: insertAllSub
	  * @Description: 插入所有子项
	  * @param @param category
	  * @param @return
	  * @return int 
	  * @throws
	  */
	
	public int insertAllSub(Category category);
	
	/**
	  * @Title: getByItemValue
	  * @Description: 查重
	  * @param @param category
	  * @param @return
	  * @return Category 
	  * @throws
	  */
	
	public Category getByItemValue(Category category);
	
	/**
	  * @Title: getByItemCode
	  * @Description: 查重
	  * @param @param category
	  * @param @return
	  * @return Dict 
	  * @throws
	  */
	
	public Category getByItemCode(Category category);

}
